package com.gl.edificio.service.impl;

import java.util.List;

import com.gl.edificio.domain.Edificio;
import com.gl.edificio.domain.Personal;
import com.gl.edificio.domain.Piso;
import com.gl.edificio.dummy.EdificioDummy;
import com.gl.edificio.service.EdificioService;
import com.gl.edificio.service.PisoService;
import com.gl.edificio.service.impl.PisoServiceImpl;
import com.gl.edificio.service.PersonalService;
import com.gl.edificio.service.impl.PersonalServiceImpl;

/**
 * 
 * @author ariel.novo
 *
 */

public class EdificioServiceImpl implements EdificioService {

	EdificioDummy edificioDummy  = EdificioDummy.getInstance();
	private PisoService pisoService = new PisoServiceImpl();
	private PersonalService personalService = new PersonalServiceImpl();

	public Integer pisoConMasAreas(Integer idEdific) {
		List<Piso> pisosARecorrer;
		pisosARecorrer = pisoService.getAllPisos(idEdific);
		Integer quePisoEs, cantDeAreas, pisoActual;
		quePisoEs = pisosARecorrer.iterator().next().getNumero();
		pisoActual = quePisoEs;
		cantDeAreas = pisoService.getCantidadAreas(pisoActual);
		for (Piso piso : pisosARecorrer) {
			pisoActual = piso.getNumero();
			if (pisoService.getCantidadAreas(pisoActual) > cantDeAreas) {
				quePisoEs = piso.getNumero();
				cantDeAreas = pisoService.getCantidadAreas(pisoActual);
			}
		}
		return quePisoEs;
	}

	public String direccion(Integer idEdific) {
		String direccion;
		Edificio edificioActual;
		edificioActual = edificioDummy.getEdificio(idEdific);
		direccion = edificioActual.getDireccion().getCalleAltura();
		return direccion;
	}

	public List<Personal> listaPersonalDeLimpieza(Integer idEdific) {
		List<Personal> personalDeLimpieza;
		personalDeLimpieza = personalService.getPersonalLimpieza(idEdific);
		return personalDeLimpieza;
	}

}
